Large server farms and cloud centers may have several thousand servers placed in racks. Today, various cloud based services need to consider locality of the servers in order to optimize their resiliency and performance. Therefore, it has become increasingly important for the server itself to know its location within the data center (rack # and U slot).
For example, Apache Hadoop is an open-source software framework for distributed storage and distributed processing of very large data sets on computer clusters built from commodity hardware. One of the requirements for Hadoop is that, for effective scheduling of work, every Hadoop-compatible file system should provide location awareness: the name of the rack where a worker node is located. Hadoop applications can use this information to ideally run work on the node where the data is located or, if not possible, ideally on the same rack and switch to reduce backbone traffic.
Likewise, such knowledge is needed in the OpenStack “SWIFT” architecture for the “ring” aspect because a ring represents a mapping between the names of entities stored on disk and their physical location. There are separate rings for accounts, containers, and one object ring per storage policy. When other components need to perform any operation on an object, container, or account, they need to interact with the appropriate ring to determine its location in the cluster.
Most conventional methods for identifying the locations of servers in racks are prone to errors, due to human error itself or mis-wiring.
Another approach involves separately installing physical contacts on the rack frame and a corresponding set of contacts on the server that form a physical connection between the two and allows the server to read its location via the contacts. However, this physical connection is a potential source of failure due to misalignment or degradation of the contacts over time as servers are inserted and removed.
Thus, there is an ongoing technological problem involving the need for a fully automatic way for a server to identify its location in a rack that is highly reliable, low cost and is not subject to physical degradation from use.